$(function() {
    initSmartButton();
    $('body').on('click', '.modal form input[type=submit]', function(event) {
        var name = $(this).attr('name');
        var val = $(this).attr('value');
        var $form = $(this).parents('form');
        if($form.find('input[type=hidden][name='+name+']').length > 0) {
            $form.find('input[type=hidden][name='+name+']').val(val);
        } else {
            $form.append('<input type="hidden" name="'+name+'" value="'+val+'" />');
        }
    });
    $('body').on('submit', '.modal form', function(event) {
        if($(this).is('.noAjax')) {
            return true;
        }
        var $form = $(this);
        
        if($form.is(':contains(.image-upload)')) {
            return true;
        }
        
        var j = $(this).serialize();
        var url = $(this).attr('action');
        $.post(url, j, function(data, status, xhr) {
            XHR.process(data, status, xhr, function(status, d, html, data, xhr) {
                if(status == 'OK') {
                    var html = $(html).find('.modal-body').html();
                    $('.modal-body', $form).html(html);
                } else {
                    alert(data);
                    console.log(data);
                }
            });
        }, 'json');
        return false;
    });
});

function initSmartButton() {
    $('body').on('click', '.smartButton', function(event) {
        if($(this).is('.noAjax')) {
            return true;
        }
        Loading.show();
        event.preventDefault();
        var url = $(this).attr('href');
        $.get(url, {}, function(data, status, xhr) {
            XHR.process(data, status, xhr, function(status, d, html, data, xhr) {
                Loading.hide();
                if(status == 'OK') {
                    var id = $(html).attr('id');
                    $('body').append(html);
                    var $dlg = $('#' + id);
                    $dlg.modal();
                } else {
                    alert(data);
                    console.log(data);
                }
            });
        }, 'json');
    });
}

function d(obj) {
    var r = '';
    for (var a in obj) {
        r += a + '=' + obj[a]+';\n';
    }
    alert(r);
}
